package com.atbeijing.bigdata.spark.core.rdd.operator.transform

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Spark05_Oper_Transform {

    def main(args: Array[String]): Unit = {

        val conf = new SparkConf().setMaster("local[*]").setAppName("TransformOperator")
        val sc = new SparkContext(conf)

        // TODO 算子 - 转换 - glom
        val rdd : RDD[Int] = sc.makeRDD(
            List(1,2,3,4),2
        )
        val glom: RDD[Array[Int]] = rdd.glom
        val glom1: RDD[Array[Int]] = rdd.glom()
//        glom.map(
//            array => {
//                array.max
//            }
//        )
        val rdd1: RDD[Int] = glom.map(_.max)

        rdd1.collect().foreach(println)

        // name
        /*
           class User {
              private String name;
              public String getName() {

              }
           }

           User user = new User();
           // String field = "name";
           //user.getName();\
           // name => get + N + ame => getName
           User.class.getMethod("getName").invoke(user);
         */



        sc.stop()

    }
}
